//
//package com.rt.schedulenew.dto;
//
//import com.rt.schedulebase.dto.terminal.DictTerminalConfigDto;
//import com.rt.schedulebase.entity.DictTerminal;
//import com.rt.schedulenew.utils.base.CommonUtil;
//import com.rt.schedulenew.utils.base.ConstantsUtil;
//import com.rt.schedulenew.utils.util.JsonUtil;
//import lombok.Data;
//import org.apache.commons.collections4.CollectionUtils;
//import org.apache.commons.lang3.StringUtils;
//
//import java.io.Serializable;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Objects;
//
///**
// * 自助机终端属性信息
// */
//@Data
//public class DictTerminalDto extends DictTerminal implements Serializable {
//    private Integer pageSize;
//    private Integer pageNo;
//    private String hospitalName;
//    private String deptName;
//    private String userId;
//    private String deviceId;
//
//
//    private String scheduleExamClass;
//    private String signExamClass;
//    private String directClass;
//    private String unSchedulePatientSource;
//    private String unSignQueue;
//    private String isSchedulePlan;
//    private String isReadCard;
//    private String isSignNow;
//    private String printerName;
//    private List<com.rt.schedulebase.dto.DictTerminalDto.FunctionButton> FunctionButton;
//    private String scheduleQueue;
//    private String signQueue;
//    private String functionButtons;
//    private String icCardInputSupportType;
//
//    /**
//     * 自助机配置信息
//     */
//    private DictTerminalConfigDto configDto;
//
//
//    /***
//     * 根据JSON配置组装前端参数
//     */
//    public void buildConfigDto() {
//        if (StringUtils.isNotBlank(getConfig()) && Objects.isNull(configDto)) {
//            configDto = JsonUtil.toBean(getConfig(), DictTerminalConfigDto.class);
//            if (Objects.nonNull(configDto)) {
//                scheduleExamClass = configDto.getScheduleExamClass();
//                signExamClass = configDto.getSignExamClass();
//                directClass = configDto.getDirectClass();
//                unSchedulePatientSource = configDto.getUnSchedulePatientSource();
//                unSignQueue = configDto.getUnSignQueue();
//                isSchedulePlan = configDto.getIsSchedulePlan();
//                isReadCard = configDto.getIsReadCard();
//                isSignNow = configDto.getIsSignNow();
//                printerName = configDto.getPrinterName();
//                // FunctionButton = configDto.getScheduleExamClass();
//                scheduleQueue = configDto.getScheduleQueue();
//                signQueue = configDto.getSignQueue();
//                functionButtons = configDto.getFunctionButton();
//                icCardInputSupportType = configDto.getIcCardInputSupportType();
//
//
//                if (StringUtils.isNotBlank(functionButtons)) {
//                    List<String> functionButtonList = CommonUtil.split2List(functionButtons);
//                    if (CollectionUtils.isNotEmpty(functionButtonList)) {
//                        List<com.rt.schedulebase.dto.DictTerminalDto.FunctionButton> buttonList = new ArrayList<>();
//                        for (int i = 0; i < functionButtonList.size(); ++i) {
//                            String functionButton = functionButtonList.get(i);
//                            com.rt.schedulebase.dto.DictTerminalDto.FunctionButton button = new com.rt.schedulebase.dto.DictTerminalDto.FunctionButton();
//                            String[] arr = functionButton.split("_");
//                            String code = StringUtils.isNotBlank(arr[0]) ? arr[0] : ("F0" + (i + 1));
//                            button.setCode(code);
//                            button.setName(arr[1]);
//                            button.setEnable(arr[2]);
//                            String itemName = null;
//                            if (ConstantsUtil.SelfFunction.TAKE_NO.key.equals(code)) {
//                                itemName = ConstantsUtil.SelfFunction.TAKE_NO.value;
//                            } else if (ConstantsUtil.SelfFunction.SCHEDULE.key.equals(code)) {
//                                itemName = ConstantsUtil.SelfFunction.SCHEDULE.value;
//                            } else if (ConstantsUtil.SelfFunction.SIGN.key.equals(code)) {
//                                itemName = ConstantsUtil.SelfFunction.SIGN.value;
//                            } else if (ConstantsUtil.SelfFunction.WAIT.key.equals(code)) {
//                                itemName = ConstantsUtil.SelfFunction.WAIT.value;
//                            } else if (ConstantsUtil.SelfFunction.REPORT.key.equals(code)) {
//                                itemName = ConstantsUtil.SelfFunction.REPORT.value;
//                            }
//                            button.setItemName(itemName);
//                            buttonList.add(button);
//                        }
//                        FunctionButton = buttonList;
//                    }
//                }
//            }
//        }
//    }
//
//
////    @Data
////    public static class FunctionButton {
////        private String code;
////        private String name;
////        private String enable;
////        private String itemName;
////    }
//}
